<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			
			let foo = function() {
			    let i = 0;
			    return function() {
			        console.log(i++);
			    }
			}
			let f1 = foo();
			let f2 = foo();
			f1(); // ?		0,理由：因为在函数中，i先被赋值然后再自增，最后也没有return i，因此值为1；
			f2(); // ?		0,理由：因为f1和f2是两个不同的命名变量，二者互不影响，因此和第一行输出理由相同；
			f1(); // ?		1,理由：因为f1运行了两次，第一次虽然输出的值为0，但是最后自增了一次，因此值为1。
		</script>
	</body>
</html>
